package cn.iocoder.yudao.module.im.controller.admin.vo.message;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotNull;

/**
 * 发送消息请求VO
 *
 * @author 芋道源码
 */
@Schema(name = "发送消息请求VO")
@Data
public class MessageSendReqVO {

    @Schema(description = "星球ID", required = true, example = "1")
    @NotNull(message = "星球ID不能为空")
    private Long planetId;

    @Schema(description = "会话ID", example = "1")
    private Long conversationId;

    @Schema(description = "消息类型", required = true, example = "1")
    @NotNull(message = "消息类型不能为空")
    private Integer messageType;

    @Schema(description = "消息内容", required = true, example = "你好，世界")
    @NotNull(message = "消息内容不能为空")
    private String content;

    @Schema(description = "目标用户ID", example = "2")
    private Long targetUserId;

    @Schema(description = "目标群组ID", example = "1")
    private Long targetGroupId;

    @Schema(description = "是否需要回执", required = true, example = "false")
    @NotNull(message = "是否需要回执不能为空")
    private Boolean needReceipt;

}